1
พลังแห่งการสำรวจตนเอง
AI035Lesson 15
00:00

ในรูบี โค้ดไม่ใช่แค่สคริปต์ที่คงที่—มันเป็น ระบบที่มีชีวิต. การสำรวจตนเอง คือพลังพิเศษที่ทำให้วัตถุสามารถมี 'ความรู้เกี่ยวกับตนเอง' ได้ แปลงพวกมันจากกล่องดำกลายเป็นแผนที่ที่ค้นหาได้ของฟังก์ชันต่างๆ แม้แต่ ค่าทันที เช่น จำนวนเต็ม สามารถสอบถามเรื่องต้นกำเนิดและศักยภาพของมันได้ในขณะทำงาน

1. อินเทอร์เฟซที่มีชีวิต

โดยการเรียกใช้ obj.methods(regular=true)เราสามารถเข้าถึงคำศัพท์เชิงหน้าที่ทั้งหมดของวัตถุได้ วัตถุประเภทช่วง (r = 1..10) แสดงให้เห็นถึงจำนวนเมธอดที่น่าประหลาดใจถึง 68 เมธอดที่แตกต่างกันซึ่งสะท้อนถึงการสืบทอดที่หลากหลายจาก Object และ Enumerable มิกซ์อิน

แถบข้าง [A]ArrayAtan2AutoLoadคลาส Array < ObjectEnumerableลายเซ็นเมธอด: Array#packข้อมูลนำเข้า: สตริงแบบจำลองผลลัพธ์: สตริงไบนารี

2. การค้นพบแบบไดนามิก

เมธอด respond_to? ทำหน้าที่เป็นผู้ควบคุมในขณะทำงาน ช่วยให้เกิด การตรวจสอบตามพฤติกรรม (ดั๊กไทป์ปิ้ง). แทนที่จะถามว่า 'เธอคืออะไร?' เราจะถามว่า 'เธอทำสิ่งนี้ได้ไหม?' ความยืดหยุ่นนี้ช่วยให้โปรแกรมสามารถปรับตัวตามความสามารถจริงได้ เช่น การตรวจสอบว่าสตริงตอบสนองต่อสัญลักษณ์ที่คล้ายกับการกำหนดค่า (=) หรือว่าค่าตัวเลขรองรับการสอบถามลำดับชั้นเฉพาะ การสอบถามลำดับชั้น.

3. สะพานเชื่อมระหว่างเอกสารเชิงเมตา

เครื่องมือเช่น RDoc ใช้คุณสมบัติเหล่านี้ในการสร้าง โครงสร้างการจัดเรียงตามตัวอักษร และแผนภูมิลายเซ็นเมธอดโดยอัตโนมัติ โดยการสอบถาม ค่าคงที่โมดูล และ ตัวแปรอินสแตนซ์นักพัฒนาสามารถเดินทางผ่านโครงสร้างพื้นที่ชื่อ (namespace) ทั้งหมดอย่างเป็นระบบ ปิดช่องว่างระหว่างไฟล์แหล่งที่มาและการทำงานจริง

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>